#ifndef __VECTORS_H
#define __VECTORS_H

#define FAULT_DIVISION_ERROR            0
#define FAULT_TRAP_DEBUG_EXCEPTION      1
#define FAULT_NON_MASKABLE              2
#define FAULT_BRIDGE_CHECK              3
#define TRAP_OVERFLOW                   4
#define FAULT_BOUND_EXCEED              5
#define FAULT_INVALID_OPCODE            6
#define FAULT_NO_MATH_PROCESSOR         7
#define ABORT_DOUBLE_FAULT              8
#define FAULT_RESERVED_0                9
#define FAULT_INVALID_TSS               10
#define FAULT_SEG_NOT_PRESENT           11
#define FAULT_STACK_SEG_FAULT           12
#define FAULT_GENERAL_PROTECTION        13
#define FAULT_PAGE_FAULT                14
#define FAULT_RESERVED_1                15
#define FAULT_X87_FAULT                 16  //0x10
#define FAULT_ALIGNMENT_CHECK           17  //0x11
#define FAULT_MACHINE_CHECK             18  //0x12
#define FAULT_SIMD_FLOATING_POINT       19  //0x13
#define FAULT_VIRTUALIZATION            20  //0x14
#define FAULT_CONTROL_PROTECTION        21  //0x15

#define EX_INTERRUPT_BEGIN              200

#define PIT_TIMER                       201
#define KEYBOARD                        202

#define AHCI_HBA_IV                     203

#define APIC_ERROR_IV                   250
#define APIC_LINT0_IV                   251
#define APIC_SPIV_IV                    252
#define APIC_TIMER_IV                   253

#define PC_AT_IRQ_RTC                   8
#define PC_AT_IRQ_KBD                   1

#endif
